package com.smart.model.dtomapper;

import com.smart.model.domain.OperateUserDO;
import com.smart.model.request.OperateUserAddRequest;
import com.smart.model.request.OperateUserRequest;
import com.smart.model.request.OperateUserUpdateRequest;
import com.smart.model.vo.OperateUserVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * @author zhanghong
 */
@Mapper(componentModel = "spring")
public interface OperateUserDtoMapper {

    OperateUserDtoMapper INSTANCE = Mappers.getMapper(OperateUserDtoMapper.class);

    /**
    * DO to VO
    * @param operateUserDO
    * @return
    */
    OperateUserVO do2VO(OperateUserDO operateUserDO);

    /**
     * reuest to DO
     * @param operateUserDO
     * @return
     */
    OperateUserDO request2DO(OperateUserRequest operateUserDO);

    /**
     * reuest to DO
     * @param operateUserDO
     * @return
     */
    OperateUserDO request2DO(OperateUserAddRequest operateUserDO);

    /**
     * reuest to DO
     * @param operateUserDO
     * @return
     */
    OperateUserDO request2DO(OperateUserUpdateRequest operateUserDO);
}
